#include <iostream>
#include <future>
#include <memory>
#include<unistd.h>
int add(int a, int b) {
    sleep(1);
    return a + b;
}
int main(){
    std::promise<int>p;//实例化一个promise对象
    std::future<int>f = p.get_future();//获取future对象

    std::thread([&p]() {
        int SUM=add(1,2);
        p.set_value(SUM);
    });
    t.join();
    std::cout << "Waiting for result..." << std::endl;
    
    return 0;
}